#ifndef HS_LIST
#define HS_LIST

struct llist_node{
	struct llist_node *prev;
	struct llist_node *next;
	char data[0];
};

typedef struct LLIST{
	int size;
	struct llist_node head;
}LLIST;


extern LLIST *llist_user;

LLIST * llist_create(int size);//创建链表
int llist_insert(LLIST *ptr,const void *data);//添加链表节
void * llist_find(LLIST *ptr,const void *key,int (*cmp)(const void *,const void *));//查询节
int llist_delete(LLIST *ptr,const void *key,int (*cmp)(const void *,const void *));//删除节
void llist_travel(LLIST *ptr,void (*llist_op)(void *));//遍历函数
void llist_destroy(LLIST *ptr);//销毁


#endif
